from .common_tool import search as search_europepmc
from .arxiv_tool import search_arxiv
from .springer_tool import search_springer

# 搜索工具注册表
SEARCH_TOOLS = {
    'arxiv': search_arxiv,
    'europepmc': search_europepmc,
    'springer': search_springer,
    # 未来可添加更多搜索源
    # 'scholar': search_scholar,
    # 'cnki': search_cnki,
}

def search_papers(source, **kwargs):
    """
    统一搜索入口，根据 source 调用不同的搜索工具。
    :param source: 搜索源名称，如 'arxiv', 'europepmc', 'springer'
    :param kwargs: 传递给具体搜索工具的参数
    :return: 结构化搜索结果
    """
    if source not in SEARCH_TOOLS:
        raise ValueError(f"未知的搜索源: {source}")
    return SEARCH_TOOLS[source](**kwargs) 